約 4,517,158 件
https://w.atwiki.jp/wikittoku/pages/13.html
javaのzip圧縮 javaのzip圧縮/解凍では以下のどちらかのパッケージが使用できる。しかし、下記の文字化けの問題で org.apache.tools.zip を使う必要がある。 java.util.zip (標準) org.apache.tools.zip (apacheAnt) ハマったところ 文字化け 原因: java.util.zip はUTF-8固定のため。 対策: org.apache.tools.zip を使用する。ZipOutputStream#setEncoding() メソッドでエンコード指定が可能。 org.apache.tools.zip は apacheAnt の ant.jar の中に入っている。-- http //ant.apache.org/ WindowsXP 標準の Compressed (zipped) Folder で空フォルダがファイルに見える。 原因: 不明。ダブルクリックしてみるとフォルダ扱いになっている。 対策: 不明。解凍すると正しくフォルダになる。どなたかご存知の方いましたらご教授よろしくお願いします。 解凍時、エラーが発生 原因: ヘッダのCRC,サイズを見る解凍ツールの問題?ヘッダにCRC,サイズが入ってないとエラーになる解凍ツールがあるらしい 対策: ランダムファイルアクセス使用で圧縮し、自動的にヘッダにCRC,サイズ等を書き込む。 or1回仮圧縮をしてサイズを計り、2回目で本圧縮時にヘッダに設定する。 orヘッダのサイズを見てエラーを吐く解凍ツールを使わない。(難 zipフォーマット仕様 http //www.pkware.com/documents/casestudies/APPNOTE.TXT CRC, 圧縮サイズ, 解凍時サイズの設定について 上記3つの設定箇所はエントリポイントのヘッダとフッタにある。 圧縮サイズは圧縮後にしかわからないため、1回サイズ測定用に仮圧縮し、2回目の本圧縮時にサイズを設定する必要がある。しかし、以下の場合は内部で自動計算し、ヘッダに戻って設定してくれるので設定不要。 org.apache.tools.zip.ZipOutputStream では Method=DEFLATED(圧縮)かつ seekable (ランダムアクセスファイル)の場合のみ ランダムアクセスファイル使用方法 org.apache.tools.zip.ZipOutputStream の以下のコンストラクタを使用する。 ZipOutputStream zos = new ZipOutputStream(File); コメント 間違い、ご意見などありましたらよろしくお願いします。 名前 コメント
https://w.atwiki.jp/programhack/pages/15.html
Android関連 AlertDialogをモーダルにする setCancelableメソッドをfalseにすることで、戻るボタンやダイアログ以外の場所をクリックされても ダイアログが閉じないようにできる 参考サイト ダイアログは永遠に(1) - AlertDialog http //ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=51 画像を扱う際のOutOfMemory対策 androidではメモリが少ないため、すぐメモリリークが起こる。 そのため、普段よりもメモリを気にして開発することが必須になる。 参考サイト Androidにおける画像の取扱い http //lablog.lanche.jp/archives/192 一定時間で自動的に閉じるポップアップ String msg1 = Util.getString((Context)thisActivity,R.string.M120); final AlertDialog dialog = new AlertDialog.Builder((Context)thisActivity) .setTitle(Util.getString((Context)thisActivity,R.string.I000)) .setMessage(msg1) .create(); Handler handler = new Handler(); Runnable r = new Runnable() { public void run() { dialog.dismiss(); setResult(RESULT_OK); finish(); } }; dialog.show(); handler.postDelayed(r, 5000); ちょっとしたポップアップ 以下でポップアップを表示できる Toast.makeText(context, "なんかの文字", Toast.LENGTH_LONG).show(); ソフトウエアキーボード制御 キーボードでテキストボックスが隠れないように 実装したかったができなかった。 ↓これを参考にしたが、だめorz http //ssnohibi.blog122.fc2.com/blog-entry-121.html 参考にしたサイトをあげておく。 参考 http //blog.global-eng.co.jp/android/2011/06/03/%E3%82%BD%E3%83%95%E3%83%88%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AE%E5%88%B6%E5%BE%A1/ http //ssnohibi.blog122.fc2.com/blog-entry-121.html ライフサイクル Activityイベントが呼ばれる順番。 参考 TechBooster 図解Androidのライフサイクルとプラットフォーム http //techbooster.jpn.org/andriod/environment/323/ ソフトキーボード表示時、画面タッチでキーボードをしまう InputMethodManagerのhideSoftInputFromWindow()を使用。 対象のEditTextに適用する InputMethodManager inputMethodManager = (InputMethodManager)act.getSystemService(Context.INPUT_METHOD_SERVICE); //ソフトキーボードを閉じるように設定 for(int txtId txtIdArray){ EditText txt = (EditText)lil.findViewById(txtId); inputMethodManager.hideSoftInputFromWindow(txt.getWindowToken(),0); } strokeタグを利用して枠線を描画することができます。 「android width」にて枠線の幅を設定 「android color」にて線の色を設定 corners にて枠線の角の設定を行います。 paddingにて描画領域を内側に寄せます。 枠線に内側のビューが重ならないように、枠線の幅の分はpaddingで寄せるようにします。 solid にて枠線の内側の塗りつぶしを行います。 shapeタグを使用することにより、グラデーションや枠線、角丸などの効果を持った背景形状を定義できます。 画像の色からカラーコードを調べる方法 ペイントで画像を開いて、スポイトのマークで吸い取ったら 色→色の編集→色の作成 に吸い取ったカラーのRGB値(10進数)が出てます。 それをRGBの順で16進数になおしてつなげる OnTouchListenerのonTouchイベント戻り値 押しっぱなしのとき、falseを返すと一度で処理が終わるが、 trueを返すとまた処理に入る widgetを非表示にして詰める方法 TextView txt = (TextView) findViewById(R.id.txt); txt.setVisibility(View.GONE); ↑消したいやつにGONEを指定すると、非表示にして詰めるようにできる。 OutputStream#write(int) バッファ使用 めっちゃ速さが変わる!!! 以下参考↓ http //d.hatena.ne.jp/guangda/20100129/1264746893 java高速化方法 http //adgjm.net/its/java/pa.htm android キャプチャ取り方 eclipseでDDMSタブのDevicesタブにある対象の端末を選択し、 カメラのアイコンをクリック。 別ウィンドウが表示され、キャプチャできる。 スクロールバー常に表示 android fadeScrollbars="false" 一気にトップに戻るときなどに生成したアクティビティを削除する方法 画像ファイルが解放されなくて、メモリリークになったが、 下記のサイト解決できそう。 http //inujirushi123.blog.fc2.com/blog-entry-44.html 遷移するときにインテントフラグをセットすればいいらしい。 前回状態を維持したまま、前の画面に戻る 前回状態で前の画面に戻る場合、 startActivityForResult()でリクエストコードを渡して、判定するやり方がある。 TOP画面に戻るなど、中間の画面を飛ばして遷移する場合は、 この方法で中間のActivityを残さないで遷移できる。 (中間のActivityが残るとメモリがどんどん消費される→メモリリークorz) 参考 AIRIA Android 画面遷移 http //gallop.ddo.jp/blog/airia/2009/06/android-1.html 関連書籍 プログラミングAndroid
https://w.atwiki.jp/pcmemo/pages/25.html
Android Android SDKのインストーラにJDKが無いと言われる JDKが入っているのに 「Java SE Development Kit (JDK) not found.」 と言われる場合 64bit版WindowsだとJDKの使うレジストリの関係でインストーラがJDKを認識できないようです とりあえずzip版使えばOK 実機での実行/デバッグ 実機での実行 実機でもデバッグができるようにするEclipseならAndroid.xmlの「アプリケーション」タブからApplication Attributes内、debuggableをtrueに 直接編集する場合は、 application 要素に「android debuggable="true"」を追加 Eclipseでの実行実行やデバッグを押すとAndroid Device Chooserダイアログが出るので上側の実機デバイスを選択してOK AVDが自動で起動する場合、実行>実行(デバッグ)構成>Androidアプリケーション>(プロジェクト名)>ターゲット内のAVDのチェックを外して適用 ADBでの実機へのインストール・アンインストール 実機が繋がった状態でコマンドプロンプトから インストールadb install [.apkファイル] .apkはプロジェクトのbinフォルダにあるやつ アンインストールadb uninstall [パッケージ名] パッケージ名はcom.example~とかのやつ Android NDK ndk-build時に/cygdrive/g/David~が見つからないと言われる よくわからないけどWindowsのGドライブが関係しているようで、Daemon Toolsが作成していたGドライブを削除したら通るようになった。 参考URL https //groups.google.com/group/android-ndk/browse_thread/thread/7eb2ef515c1fca2?hl=ja
https://w.atwiki.jp/melodroid/pages/16.html
Android開発環境構築 概略 Androidの標準的なビルド環境の構築について記載する。 基本的には、Android Open Source Projectの和訳になる。 目次 開発環境構築 ソース取得準備 ソース取得方法(repo) ソース取得方法(git) ビルド方法 開発環境構築 Ubuntu Linux(8.04,32bit-x86)上での開発環境構築について書く。 Windows上でやりたい場合は、VMware等を利用して実施。 Macとか他のLinuxディストリビューションについては、参照元をチェック。 アップデート実施「アップデート・マネージャ」を起動する(「システム」→「システム管理」→「アップデート・マネージャ」を選択) アップデートを実施する(「アップデートをインストールする」を押す) パスワードを要求されるので、入力してEnterキーを押す。 必要なパッケージを追加する。「端末」を起動する(「アプリケーション」→「アクセサリ」→「端末」を選択) 「端末」上で、下記のコマンドを入力して、Enterキーを押す。sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev パスワードを要求されるので、入力してEnterキーを押す。事前に、sudoを使った場合は、要求されない場合がある。 パッケージのダウンロードが始まるので、終わるまで待つ。 念のため、再度アップデートを実施 注意事項8.10だと別のパッケージ(lib32readline5-dev)が必要となるらしい 64-bitだと、少し違うらしい ソース取得準備 Android Open Source ProjectからAndroidのソース一式を取得する為のツール「repo」の導入方法を説明。 必要なパッケージ(Git)の取得上記の開発環境構築を実施していれば、再度取得する必要は無い「端末」を起動する(「アプリケーション」→「アクセサリ」→「端末」を選択) 「端末」上で、下記のコマンドを入力して、Enterキーを押す。sudo apt-get install git-core パスワードを要求されるので、入力してEnterキーを押す。事前に、sudoを使った場合は、要求されない場合がある。 パッケージのダウンロードが始まるので、終わるまで待つ。 (動作確認はしてないので・・)他に必要なパッケージがあれば、導入。 repoインストール用のフォルダ作成と設定説明同様に、ホーム配下(~/bin/)に作成する場合を記載(/usr/local/bin/等でも良いと思う)「端末」を起動する(「アプリケーション」→「アクセサリ」→「端末」を選択) ホーム配下に移動する「端末」上で、「cd ~」入力して、Enterキーを押す ホーム配下にbinフォルダを作成「端末」上で、「mkdir bin」入力して、Enterキーを押す コマンド入力時に、binフォルダが検索対象となっていることの確認binフォルダに移動する(端末で「cd bin」) 確認するパスを表示「端末」上で、「pwd」入力して、Enterキーを押す 環境変数を表示「端末」上で、「echo $PATH」入力して、Enterキーを押す 表示される文字列に確認するパス(pwdで表示されたパス)が含まれていることを確認区切り文字は、「 」(コロン) 含まれている場合、検索対称となっている 検索対象となっていない場合の対処方法別のやり方でもできる「.bashrc」を開く端末で「gedit ~/.bashrc」を入力して、Enterキーを押す エディタが開くので、最後に下記1行を追加PATH="$PATH ~/bin" 端末を一度終了させて、再度起動し、環境変数を確認 repoを取得端末で下記を入力して、Enterキーを押すcurl http //android.git.kernel.org/repo ~/bin/repo repoフォルダの設定端末で下記を入力して、Enterキーを押すchmod a+x ~/bin/repo 注意事項repoを導入しなくても、gitだけでソース取得することも可能 「.bashrc」の編集は自己責任で・・。 ソース取得方法(repo) repoを使ってのソースのダウンロード方法について記載。 repoが導入されていることを前提条件とする。 ダウンロード先のフォルダを作成以降、「~/mydroid」として作成したとする フォルダ内に移動端末で「cd ~/mydroid」を入力して、Enterキーを押す ダウンロード情報の初期設定端末で下記を入力して、Enterキーを押すrepo init -u git //android.git.kernel.org/platform/manifest.gitビルドする場合は、「-b cupcake」等を付加して、バージョン固定したほうが良いと思う 名前、メールアドレスの問合せがあるので、入力してEnterキーを押すEnterでデフォルトが入るので、とりあえず、それでも動く 設定ファイル内に格納される。アップロード時に使用される(?) ダウンロード実施端末で下記を入力して、Enterキーを押すrepo sync 注意事項repoのイメージとしては、「manifestに対応して、複数回のgitによるソース取得を実施する」(たぶん・・) 「repo init」、「repo sync」ともに、失敗することがある。その際は、再度実施。 repoのオプション等は、http //source.android.com/download/using-repoをチェック 「repo init」後に、manifestファイル(ローカルに作成されている)を変更することで、パッケージの追加、削除等の操作ができる ソース取得方法(git) gitを使ってのソースのダウンロード方法について記載。 gitが導入されていることを前提条件とする。 (とりあえず、ビルドしたいなら、素直に、repoを使った方が良い) ダウンロード先のフォルダを作成以降、「~/mydroid」として作成したとする フォルダ内に移動端末で「cd ~/mydroid」を入力して、Enterキーを押す サーバからダウンロード端末で下記(例:標準カーネル部分取得)を入力して、Enterキーを押すgit clone git //android.git.kernel.org/kernel/common.git 注意事項gitを1回実施するだけでは、1部分のみのソースを取得するイメージかな 複数回実施して、repo1回と同程度になる(makeするまでに手間がかかる) あるパッケージのソースだけ欲しい場合には、gitのほうが便利 動くソース一式が欲しい場合は、repoのほうがおすすめ ビルド方法 repoによりソースを取得した段階でのビルド方法を記載。 「~/mydroid」内で、「repo init」、「repo sync」を実施した状態だとする ソースのルートフォルダに移動端末で「cd ~/mydorid」を入力してEnterキーを押す ビルドを開始する端末で「make」を入力してEnterキーを押す 注意事項設定を何もしていない状態だと、ユーザ空間のビルドがgeneric設定で実施される。 上記の場合、生成物は「~/mydroid/out/target/product/generic」にできる カーネルビルドは含まれておらず、基本的にユーザランドが生成物となる
https://w.atwiki.jp/sindroid/pages/13.html
あんどろいどなぺぇじ さて何を書こうか。 アンドロイドの構成 インストールからエミュレータ起動まで (ver 2.0用 以前のバージョンだとまた違うぽい。) ここからSDKをダウンロード →解答して適当なとこに置く →パスを通す(¥toolsまで) →プロンプトからandroidと入力するとAVDマネージャ起動 →Available Packagesからインストール ・ここで何もインストールするファイルがみつからない場合がある。 /.androidにandroidtool.cfgファイル作ってsdkman.force.http=trueと入れておくと解決するはず。 ・インストールがNothingとか出たらSDKの位置変えてみる。 (C直下とか。管理者権限だとか何か知らんけどProgram Files以下に置いてたら駄目だった。) →Virtual Devicesでデバイス作成 →そこからStartで起動 SDKリファレンス 既存バグとか チップス 他
https://w.atwiki.jp/riverwin/pages/15.html
= Android = == 参考HP == * [http //developer.android.com/index.html Android Developers] * [http //itpro.nikkeibp.co.jp/article/COLUMN/20090708/333496/?ST=android-dev Androidで広がる、携帯アプリ開発の世界---目次 - Androidで広がる、携帯アプリ開発の世界:ITpro] * [http //www.kumikomi.net/archives/2010/02/fo02andr.php 「Android」に関する情報|Tech Village / CQ出版株式会社] * [http //sites.google.com/site/io/anatomy--physiology-of-an-android Anatomy Physiology of an Android] - Androidの分析と設計哲学 * [http //sites.google.com/site/io/dalvik-vm-internals Dalvik VM Internals] - Dalvikの内部構造 == SDK (Software Development Kit) == * [http //java.sun.com/javase/downloads/index.jsp Java SE] * [http //mergedoc.sourceforge.jp/index.html#/pleiades.html Pleades - Eclipse プラグイン日本語化プラグイン] * [http //developer.android.com/sdk/index.html Android SDK] == NDK (Native-code Development Kit) == * [http //www.cygwin.com/ Cygwin Information and Installation] - Windows環境で開発する場合に必要 * [http //developer.android.com/sdk/ndk/index.html Android NDK] * [http //www.atmarkit.co.jp/fjava/rensai4/android15/android15_1.html Android NDKでJNIを使用してアプリを高速化するには (1/3) - @IT] * [wiki Android/SocketProgramming ソケットプログラミング] == Tips == * CUI/GUIの切り替え(for x86) * CUI Alt+F1 * GUI Alt+F7 * エミュレータの端末の向きを変えるには?:[ctrl]+[F12] * Android-x86で日本語入力するには? * [http //www.adamrocker.com/blog/286/simeji-for-x86.html x86で動くSimeji]ページから「Simeji3.A.3_x86.apk」をダウンロードしてインストールする。 * !LogCatで日本語を表示するには? * EclipseのADTプラグインでのLogCatでは、文字コードを指定できないため、表示不可。 * コマンドラインで直接LogCatを起動することにより、表示可能。 1. コマンドラインプロンプトのフォントをMSゴシックにするために仮のバッチファイル(ファイル名は最終的なものと同一)を作成する。内容は以下の通り。 {{{ cmd /k adb logcat }}} 1. 上記で作成したバッチファイルを実行し、表示されたWindowのタイトルバー右クリックでプロパティメニューを表示し、フォントタブにてフォントをMSゴシックに指定する。 1. バッチファイルを、UTF-8設定用に変更する。内容は以下の通り。 {{{ cmd /k chcp 65001 | adb logcat }}} * Android Marketに登録できないアプリを広めるには? * サードパーティが運営しているサーバを使用する。ex.[http //andappstore.com/ AndAppStore] * アプリ内で1D/2Dバーコードスキャンを行うには? * [http //code.google.com/p/zxing/ Zebra Crossing]を使用する。 == 関連リンク == * [http //www.oesf.jp/ Open Embedded Software Foundation] * [http //wiki.github.com/OESF/Embedded-Master-ARM/em1-environment-constructed EM1 Environment Constructed] {{{ #!comment == パッケージのインストール == 参考:[http //source.android.com/source/download.html Get Android Source Code | Android Open Source] 1. ビルドに必要なパッケージのインストール {{{ $ sudo apt-get update $ sudo apt-get -y install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind g++ }}} 1. Android専用のプロジェクト管理ツール「repo」のインストール {{{ $ cd ~ $ mkdir bin $ curl http //android.git.kernel.org/repo ~/bin/repo $ chmod a+x ~/bin/repo }}} 1. 環境変数の設定 {{{ $ ls /usr/lib/jvm java-1.5.0-sun java-1.5.0-sun-1.5.0.19 $ export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun $ export PATH=$PATH ~/bin }}} 1. Android環境一式のダウンロード(Eclair)[[BR]] {{{ $ mkdir ~/work/mydroid $ cd ~/work/mydroid $ repo init -u http //android.git.kernel.org/platform/manifest.git -b eclair ... $ repo sync ... }}} 1. Linux kernelのダウンロード[[BR]] {{{ $ mkdir kernel $ cd kernel $ git clone git //android.git.kernel.org/kernel/common.git ... $ git clone git //android.git.kernel.org/kernel/linux-2.6.git ... $ git clone git //android.git.kernel.org/kernel/omap.git ... $ git clone git //android.git.kernel.org/platform/vendor/asus/eee_701.git ... $ repo sync ... }}} 1. ダウンロード結果 {{{ $ cd ~/work/mydroid $ ls -aF ./ Makefile build/ development/ hardware/ prebuilt/ vendor/ ../ bionic/ cts/ external/ kernel/ sdk/ .repo/ bootable/ dalvik/ frameworks/ packages/ system/ $ du -s 5703292. }}} 1. ビルド {{{ $ source ./build/envsetup.sh $ choosecombo 1 1 generic 3 $ make ... $ }}} }}} == x86 on VMware用パッケージのインストール == 参考 [http //arms22.blog91.fc2.com/blog-entry-254.html なんでも作っちゃう、かも。x86 Android Donut on VMware] 1. イメージファイルの変換に必要なパッケージのインストール {{{ $ sudo apt-get install qemu }}} 1. ソースコードの取得 {{{ $ cd ~/work $ mkdir android-x86 $ cd android-x86 $ repo init -u git //git.android-x86.org/android-x86/platform/manifest.git -b eclair-x86 ... $ repo sync ... }}} 1. 差分ファイルの取得[[BR]] ビルドに必要なソースがリポジトリから削除されているので([http //groups.google.com/group/android-x86/browse_thread/thread/acd93d7d702c5de9?pli=1 参考Topic])、削除前の[http //android.git.kernel.org/?p=platform/frameworks/base.git;a=snapshot;h=0c33ed2992b2eb484c229fd3322df14d97c10caa;sf=tgz スナップショット]をダウンロードし、展開後、frameworks/base/tools/layoutlib/api/*部分をコピーする。(以下は、「~/temp/downloads」にダウンロードした場合の例) {{{ $ cd ~/temp/downloads $ tar zxvf base-0c33ed2992b2eb484c229fd3322df14d97c10caa.tar.gz $ cp -r base/tools/layoutlib/api/ ~/work/android-x86/frameworks/base/tools/layoutlib/ $ cd ~/work/android-x86 $ du -s 4040996. }}} 1. ソースの修正 a. Bluetoothの有効化[[BR]] ./build/target/board/generic_x86/init.rcスクリプト中のbluetoothdサービス起動部分のdisabled設定をコメントアウトする。 {{{ service bluetoothd /system/bin/bluetoothd -n socket bluetooth stream 660 bluetooth bluetooth socket dbus_bluetooth stream 660 bluetooth bluetooth # init.rc does not yet support applying capabilities, so run as root and # let bluetoothd drop uid to bluetooth with the right linux capabilities group bluetooth net_bt_admin misc # disabled }}} 1. USB起動用のイメージファイルとしてビルド[[BR]] ※初回makeでエラー停止した場合、再度makeすると通る場合あり。 a. デフォルトカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc }}} a. カーネルをカスタムビルドする場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_KERNEL_CONFIG=my_defconfig }}} a. 既にビルド済みのカーネルを使用する場合 {{{ $ make usb_img TARGET_PRODUCT=eeepc TARGET_PREBUILT_KERNEL= path to the prebuilt kernel }}} 1. 仮想ディスクイメージファイルの作成 {{{ $ cd out/target/product/eeepc $ qemu-img convert eeepc_usb.img -O vmdk installer.vmdk }}} 1. VMwareの新規仮想マシンを作成 1. 「後でOSをインストール」を選択し、「次へ」を押下する。 1. ゲストOSは「Linux」を選択する。 1. バージョンは「他のLinux2.6.xカーネル」を選択し、「次へ」を押下する。 1. 仮想マシン名を適当に作成する(例.「Android Eclair on x86」)し、「次へ」を押下する。 1. ディスク最大サイズを設定する(例.4.0GB)。 1. 「仮想ディスクを単一ファイルとして格納」を選択し、「次へ」を押下する。 1. 「完了」を押下する。 1. VMwareのディスク設定を追加・変更 1. 上記で作成したディスクをscsi0 0からide0 0に変更する。 1. vmxファイルを開いて以下の行を追加する。ide0 0がprimary master、ide0 1がprimary slave。なお、「bios.bootDelay」は、電源On時にBIOS Setup画面に移行するためのF2キー押下を容易にするための設定。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" bios.bootDelay="3000" }}} 1. ビルドした仮想ディスクイメージファイル(installer.vmdk)をvmxファイルと同じフォルダにコピーする。 1. VMwareの仮想ハードディスクにAndroidをインストール 1. VMwareを起動し、BIOS設定を変更して、IDEのprimary slave(PS)からBOOTする。 1. AndroidのInstallを選択する。 1. 検出されたHard Diskにパーティションを作成し、ext3でフォーマットする。 1. インストールディスクの削除 1. vmxファイルを開いて次の行を削除する。 {{{ ide0 1.present = "true" ide0 1.fileName = "installer.vmdk" }}} 1. 起動確認[[BR]] VMwareを再生し、Androidが起動することを確認する。
https://w.atwiki.jp/xpedia-android/pages/13.html
JDKインストール http //java.sun.com/javase/ja/6/download.html Eclipseインストール(すでにある場合は不要) http //mergedoc.sourceforge.jp/ AndroidSDKインストール http //developer.android.com/sdk/ Xperia(X10)はAndroid1.6 てきとーにC \直下に置いてtoolsフォルダをPATH追加
https://w.atwiki.jp/devemin/pages/13.html
●Activityの回転時の再生成への対応 ①再起動させなければいいので、onConfigurationChanged() メソッドをオーバーライド ②Activityのマニフェストに android configChanges="orientation|keyboardHidden" @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } http //d.hatena.ne.jp/hyoromo/20090712/1247385249 (Softbank 005SHでは、keyboardHiddenが必要だった。) ●Eclipseの入力補完(オートコンプリート)が遅い件 バージョン3.62にすれば問題ないらしい ●アップデート後など、eclipseが起動しなくなった場合 eclipse\configuration\jp.sourceforge.mergedoc.pleiades フォルダを削除したらOKだった ●Android アプリ開発時、有料・無料の2種プロジェクトを作るTips (ソースを2プロジェクトで共有する方法) こちらを参考にさせてもらいました。 (Androidの無料アプリ・有料アプリを切り替えてビルドする方法) http //d.hatena.ne.jp/eaglesakura/20100629/1277832265 上記URLで書いてあった方法は、部分的に、自分のアプリでは対応できない部分があったので、自分のやった方法で、全体名流れを補足。 まず2つプロジェクトを普通に作る。(基本app-freeと派生app-paid) 2つのパッケージ名はそれぞれ、 com.appli.free com.appli.paid など、最後の1段落のみ変えたりするとわかりやすいかも。 プロジェクト名は、ここでは「app-free」「app-paid」としてみる。 派生プロジェクトpaidでは、src、assets、resディレクトリを、 リンクしたディレクトリとする。 派生プロジェクトapp-paidでは、基本プロジェクトapp-free内の自動生成ファイルR.javaが必要になる。 手動で毎回やるのは酷なので、派生プロジェクトapp-paidビルド時に毎回app-free側のR.javaが自動でコピーされるよう、バッチファイルを作成、プロジェクトのプロパティ、ビルダー、で、ビルド時に毎回実行されるようにする。初回はプロジェクトのクリーンを実行で、×マーク消える。 ${build_project}\rcopy.bat ${build_project} 上記サイトを参考にさせていただきました。 rcopy.bat -------------------------------- @echo off SET PARENT_PROJECT=app-free SET CURRENT_PROJECT=app-paid REM 定義ファイルをコピーする cd ..\%PARENT_PROJECT%\ REM genフォルダをコピーする xcopy /s /e /y .\gen ..\%CURRENT_PROJECT%\gen cd ..\CURRENT_PROJECT\ -------------------------------- リソースを共有するので、有料版、無料版をそれぞれリソースに含めるので、容量はダブって損となる。気にする人は気にするかも?でも自分は利便性を取りました。 @string/app_name @string/app_name_paid @drawable/icon @drawable/icon_paid AndroidManufest.xmlは、アプリそれぞれに設定する。 (パッケージ名、label ) アクティビティ名を、省略名ではなく、 activity android name="light.diary.plus.EditWindow" などにする必要があるかも これらの結果、 app-freeプロジェクト、はほかの通常のプロジェクトとなんら変わりない app-paidプロジェクトは、res, asset, srcがリンクフォルダであり、src内パッケージは「com.appli.free」がある状態。 ×印が消えない場合は、プロジェクトのクリーン&eclipseの再起動、F5キーによるリフレッシュなどをトライ。 (必要に応じて、import light.diary.plus.R; ?) 有料・無料の処理切り分けは、getPackageName()で行う。 ●プログレスダイアログProgress Dialog 既に動いているサンプルをそのまま使うのが吉。 スレッド以外でGUI操作するとメモリエラーとなる。 https //groups.google.com/forum/#!msg/android-group-japan/0YlnSLptx8w/g6kAZuxrR14J 引用 ProgressDialog progressDialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); progressDialog = new ProgressDialog(this); /*progressDialog.setTitle("処理中"); progressDialog.setMessage("処理を実行中です"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.show();*/ Thread thread = new Thread(this); thread.start(); } public void run() { // 時間のかかる処理をここに記述。 try { progressDialog.setTitle("処理中"); progressDialog.setMessage("処理を実行中です"); progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); handler.post(new Runnable() { @Override public void run() { progressDialog.show(); } }); Thread.sleep(5000); } catch (InterruptedException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } handler.sendEmptyMessage(0); } private Handler handler = new Handler() { public void handleMessage(Messa ●ADTアップデート等エラーのときのEclipse クリーン http //www.hlplus.jp/php/blog/index.php?UID=1298450960 名前 コメント
https://w.atwiki.jp/tamorintech/pages/18.html
eclipse開発環境について(2/4 旧wikiから移行)参考サイト eclipse開発環境について(2/4 旧wikiから移行) 開発に必要なプラグインのインストールeclipseのメニュー「ヘルプ 新規ソフトウェアのインストール...」でインストールを行う。 ロケーション「https //dl-ssl.google.com/android/eclipse」でリポジトリーを追加する。名前は「Android Plugin」など、適当に。エラーが出る場合は、「http //dl-ssl.google.com/android/eclipse」でトライしてみる価値があるらしい。 Android SDKの設定eclipseのメニュー「ウィンドウ 設定...」でダイアログを開き、「Android」メニューを選択。 「SDKロケーション」にダウンロードしたandroid sdkのフォルダ(android-sdk-windows)を指定する。 Android SDK および AVD マネージャー 実機のドライバインストール 参考サイト http //2dkonly.blog10.fc2.com/blog-entry-46.html
https://w.atwiki.jp/devandroidknowledge/pages/14.html
≪Android Tips≫ ◆なんと、Androidには温度センサーが付いているみたい! 【温度センサーから温度を取得するには(概要)】 Sensorインスタンスの生成 Sensorインスタンスに温度センサーを指定する SensorManagerインスタンスにリスナ―指定する。( 温度変化があったごとに記録するには、左記にプラスして下記が必要。) Andoridのセンサーには加速度センサーとか磁気センサーなどがある リスナーに設定すると、センサーの値が変更されたタイミングでonSensorhangedというメソッドが呼び出され、センサーの値を取得することが出来る。 SensorManagerインスタンス センサーを管理するためのSensor系のインスタンス。センサーを管理するためのメソッドも用意されている。 【温度センサーから温度を取得するには(詳細)】 getSystemServiceメソッドでSensorManagerインスタンスを取得 SensorManager.getDefaultSensorメソッドにSensor.TYPE_TEMPERATURE(温度センサー)を指定する。 SensorManager.registerListenerメソッドに②で生成したSensorインスタンスを指定。 by nakamura ◆GoogleMap活用法系 GoogleMap使用準備 GooglMapAPIのKeyを取得する。 AndroidManifestにインターネット接続のパーミッションとGooglMaoAPIを利用する記述を行う。 GoogleMap使用準備 さぁ、準備が出来たら画面に表示だ! 画面に表示させるにはあ以下のことを行う必要がある。 MapActibityクラスの継承 そのクラスの中でonCreateするときにsetContentView(R.layout.main)で地図をセットする。 ※main.xmlにMapViewを配置しておく。 ※MapView・・・Googleから取得したAPIキーの記述や、地図に関する表示をクリックの可否の記述を行う isRouteDisplayedメソッドをオーバーライドしてfalseを返すようにする ※isRouteDisplayedメソッド・・・?? ※MapViewインスタンスからマップ表示させることも可能 MapView mapView = new MapView(this,getResources().getString(取得したキー)); mapView.setEnabled(true); mapView.setClickable(true); setContentView(mapView); by nakamura ◆画面系いろいろ入門編 1画面につき1つActivityクラスが対応する。 バックグラウンドの処理はServiceクラスに実装する。 AvtivityからService,ServiceからServiceを呼び出す際はIntentを使う。 アプリ起動時の画面はAndroidManifest.xmlのintent-filterに設定する。 参考にしたページ Androidアプリ作成のための基礎知識 Androidプログラミング入門 Android入門